The DHCP Test window allows you to exercise a DHCP Server.
The "Test Type" popup menu in the lower left corner of the window allows you to select what DHCP transaction to generate. "Discover" sends a dhcp discover message, if an "Offer" is received, it will then send a "Request" to request this lease and wait for a corresponding "Ack". This simulates one or more clients starting up with no previous lease information. "Verify" sends a DHCP "Request" message as if the client is in the INIT-REBOOT state to verify an existing lease. Renew sends a DHCP "Request" message as if the client is trying to renew an existing lease. "Rebind" sends a DHCP "Request" message as if the client is trying to rebind. Inform sends a DHCP "Inform" message. Release sends a DHCP "Release" message using any IP addresses previously discovered to release the corresponding lease bindings. BootP sends a request that does not include a DHCP message type to simulate a BootP client.
The "Continuous" checkbox sets the DHCP Test tool to continuously cycle through each DHCP transaction type in order.
"Limit" specifies the number of DHCP transactions to generate. Each DHCP transaction (after the first) will use a unique Client_ID formed by appending the transaction number to the Client_ID prefix.
"Address Time" allows you to specify a value for the DHCP "Address Time" option to request a specific lease time. You can verify the effect by examing the "Expire Time" in the table or enabling "Verbose Logging" to see the actual Lease Time returned.
"Delay" specifies the delay between initiating DHCP transactions. Note this setting is only approximate since transactions are generated at System Task time when the system is not otherwise occupied. You can disable "Verbose Logging" to improve system responsiveness.
"Server Address" if specified identifies the DHCP Server to use.
"Client_ID" specifies the prefix of the DHCP client ID string to use. You can include non-printing characters in the Client_ID field by enclosing their hex value in angle brackets (example: <00>).
The "Non Zero ciaddr" checkbox sets the 'ciaddr' in DHCP requests to the IP address of the test machine. This simulates the behavior of Mac OS clients that find a DHCP server after previously self configuring, or have a previous address from being attached to another network.
"Request Address" if the TestType is "Discover", "Verify", "Renew", or "Rebind", we are not responding to previous reply, and Limit is 1, the specified Request Address is used. This feature is intended to test how well the server rejects invalid IP addresses (request for an address not on the attached network).
The "Test" ("Abort") button is used to start or stop the actual test. While the test is running, each transaction is recorded in the table showing what messages were sent, the response if any, and the round trip time of the response. Each DHCP message sent and received is also shown in the Log window. A green check mark indicates a message sent or received. An orange check mark indicates a NACK was received. A red "X" indicates there was no response within the timeout period (10 seconds).
DESIGN NOTES
The DHCP Test tool was developed to test the DHCP Server in IPNetRouter. In some cases, the local DHCP client built-in to Open Transport may prevent the DHCP Test tool from receiving DHCP responses (you may need to disable "Configure via: DHCP" in the TCP/IP Control Panel before using the tester). Once TCP/IP is configured, the tester will be requesting information about leases from an IP address that is different from the lease address. The tester tries to work around this conflict by requesting that all responses be broadcast, but some DHCP Server implementations may not allow this.
The DHCP Test tool is powerful enough to simulate multiple hosts loading a server, but also has much simpler uses. For example: you might enable Verbose Logging and send a single Discover message with your current Client_ID to see the complete set of DHCP options returned including all DNS servers and Default-Gateways (which are not otherwise visible in the TCP/IP Control Panel - multiple Default-Gateways can cause network slowdowns on Mac clients depending on your network).
For more information on DHCP, refer to RFC-2131, RFC-2132, or a good book on TCP/IP.